# coding=utf-8
import os
import time
import logging
import pytest
import click

import static
from common.utils.log_util.setup_log import get_logger
from common.utils.report_util import run_testcase, run_and_generate_report
from static import REPORT_PATH
from static import RunConfig

# logger = get_logger()
logger = logging.getLogger(__name__)
CASE_PATH = os.path.join(static.PROJECT_PATH, 'test_cases')


'''
说明：
1、用例创建原则，测试文件名必须以“test”开头，测试函数必须以“test”开头。
2、运行方式：
  > python run_tests.py  (回归模式，生成HTML报告)
  > python run_tests.py -m debug  (调试模式)
'''


def init_env(new_report):
    """
    初始化测试报告目录
    """
    pass


@click.command()
@click.option('-m', default=None, help='输入运行模式：run 或 debug.')
def run(m):
    if m == "run":
        logger.info("回归模式，开始执行...")
        print(f'case_path为:{CASE_PATH}')
        run_and_generate_report(CASE_PATH)
        logger.info("运行结束，生成测试报告！")
    elif not m or m == "debug":
        print("debug模式，开始执行！")
        run_testcase(CASE_PATH)
        print("运行结束！")


if __name__ == '__main__':
    run()
